package cn.xyy.common.domain.system.auth;

import java.util.Date;
import java.util.List;

import cn.xyy.common.annotation.jdbc.Columns;
import cn.xyy.common.annotation.jdbc.Tables;
import cn.xyy.common.domain.mvc.PageParam;

/**
 * 用户表
 * 
 * @author xyy
 *
 */
@Tables("t_sys_user")
public class UserInfo extends PageParam {

	public final static Integer user_enable = 1;// 正常
	public final static Integer user_unable = 2;// 禁用

	/**
	 * 
	 */
	@Columns(value = "uid", primaryKey = true, autoIncrement = false)
	private String uid;
	@Columns("username")
	private String username;
	@Columns("password")
	private String password;
	@Columns("realname")
	private String realName;
	@Columns("mobile")
	private String mobile;
	@Columns("create_time")
	private Date createTime;
	@Columns("status")
	private Integer status;// 用户状态1:正常;2:禁用
	@Columns("dept_id")
	private String deptId;// 部门id
	@Columns("job_id")
	private Integer jobId;// 岗位id
	@Columns("email")
	private String email;
	@Columns("update_time")
	private String updateTime;
	@Columns("avatar")
	private String avatar;
	@Columns("avatar_path")
	private String avatarPath;
	@Columns("introduction")
	private String introduction;
	@Columns("city")
	private String city;

	private String token;

	private String companyId;// 公司id
	private String companyName;// 部门对应的总节点部门（分公司，，集团）
	private String deptName;// 部门名称
	private String jobName;// 岗位名称

	private List<Role> roleList;

	// 角色
	private List<String> roleNameList;

	// 用户拥有的权限
	private List<String> permissionCodeList;

	private List<Permission> menuList;

	// 数据权限范围（1：全部数据权限 2：自定数据权限 3：本部门及以下数据权限4：本部门数据权限 5：本人）
	private Integer datascopeType;
	// 户拥有的数据权限
	private List<String> datascopeList;

	private ClientInfo clientInfo;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getUid() {
		return uid;
	}

	public UserInfo setUid(String uid) {
		this.uid = uid;
		return this;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public List<String> getDatascopeList() {
		return datascopeList;
	}

	public void setDatascopeList(List<String> datascopeList) {
		this.datascopeList = datascopeList;
	}

	public String getAvatar() {
		return avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public String getJobName() {
		return jobName;
	}

	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	public Integer getDatascopeType() {
		return datascopeType;
	}

	public void setDatascopeType(Integer datascopeType) {
		this.datascopeType = datascopeType;
	}

	public String getCompanyId() {
		return companyId;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}

	public String getCompanyName() {
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	public String getUsername() {
		return username;
	}

	public UserInfo setUsername(String username) {
		this.username = username;
		return this;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	public Integer getJobId() {
		return jobId;
	}

	public void setJobId(Integer jobId) {
		this.jobId = jobId;
	}

	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getAvatarPath() {
		return avatarPath;
	}

	public void setAvatarPath(String avatarPath) {
		this.avatarPath = avatarPath;
	}

	public List<Role> getRoleList() {
		return roleList;
	}

	public void setRoleList(List<Role> roleList) {
		this.roleList = roleList;
	}

	public List<String> getRoleNameList() {
		return roleNameList;
	}

	public void setRoleNameList(List<String> roleNameList) {
		this.roleNameList = roleNameList;
	}

	public List<String> getPermissionCodeList() {
		return permissionCodeList;
	}

	public void setPermissionCodeList(List<String> permissionCodeList) {
		this.permissionCodeList = permissionCodeList;
	}

	public List<Permission> getMenuList() {
		return menuList;
	}

	public void setMenuList(List<Permission> menuList) {
		this.menuList = menuList;
	}

	public ClientInfo getClientInfo() {
		return clientInfo;
	}

	public void setClientInfo(ClientInfo clientInfo) {
		this.clientInfo = clientInfo;
	}

}
